Skip to main content

Full text of "Syntax Magazine"

See other formats


Serving  Timex-Sinclair 
Personal  Computers 


SYNTAX 

A  PUBLICATION  OF  THE  HARVARD  GROUP 


VOL. 4  NO. 12 


ISSN  0273-2696 


DEC.,  1983 


IN  THIS  ISSUE 


ZX/TS  SUBSET  OF  2068  PINS 


8K  Programs 

Bingo . 4 

Cash  Register . 2  0 

Cassette  Label  Maker... 7 

Examine  MC . 6 

Ohm's  ZXLaw . 10 

ROMCALLS . 8 


Unjumble  Word  Games... 22 
2068  Programs 
Firstloader — load  your 
ZX/TS  programs  and 
auto-translate  to  the 


TS  2068 . 14 

Book  Review 

Graphics  A  to  Z. . 10 

Classified  Ads . 22 

Dear  Editor . 12 

Editorial . 4 

Games . 4  ,22 

Hardware  Review 


Memotext  Specif ics ... .2 0 
Zebra  Joystick  Adaptor. 7 
Index  to  SYNTAX — 

Nov. 80-Nov. 83  follows. 12 


Machine  Code . 14 

New  Products  and 

Services . 2 

News . 1 

Program  Improvements 

E-Z  LOADER  Fix . 2 

VU-CALC  Typing . 2 

Software  Hint 

High  Line  Numbers . 4 

Software  Reviews 

Tax  Helper . 19 

ZXLR8 . 6 

Users'  Groups . 2 

Index  of  Advertisers 

Simplex  Software . 11 

Simulusion . 21 

The  Harvard  Group . 5 


Aligned  with  the  slot,  you  will  find  the  pins 
correspond  exactly  to  the  ZX/TS  pinout  with 
three  exceptions.  RAM  CS,  ROM  CS,  and  9V  are 
missing  and  the  corresponding  pins  are  empty. 
Pins  outside  the  ZX/TS  connector  span  perform 
2068  functions — GND  appears  on  4  more  pins 
(30  &  32,  top  &  bottom)  and  +15V  on  pin  3. 

The  lack  of  9V  may  be  the  only  barrier  to 
using  ZX  printers. 

SPECTRUM  MACHINE  CODE  ON  2  068 

Some  Spectrum  MC  tapes  will  run  on  your  2068, 
The  Fruit  Machine,  for  example.  Your  chances 
are  better  if  the  program  is  written  for  48K. 
Programs  that  call  keyboard  scan  routines — as 
IN  64510,  61438,  32766,  or  65278 — will  run  if 
you  change  these  to  INKEY$  or  STICK  commands 
on  your  2  068.  Also  programs  written  with  MC 
above  RAMTOP  are  more  likely  to  run.  Because 
Spectrum  program  memory  starts  lower  than  in 
the  2068,  the  tape  tries  to  load  where  the 
2068  cannot  accept  it. 

NEW  TIMEX  CONFIGURATION 

OUT  (ROSS) :  IN(X) :  NEW:  GOTO  start:  seems  to 
be  the  BASIC  command  line  issued  by  Timex' 
visionary  chairman,  T.  Fred  Olsen.  As  the  UK 
press  report  Sinclair's  disappointment  with 
results  in  the  US  market  and  a  giant  new  deal 
with  China,  the  Waterbubble  Works  is  getting 
the  message:  patience  is  a  limited  virtue. 

TIMEX-SINCLAIR  USER  RESTRUCTURING 

Organization  of  ECC's  North  American  magazine 
will  be  restructured,  according  to  observers 
close  to  the  scene,  but  no  decision  has  been 
taken  to  stop  printing.  Changes  will  delay 
issue  8,  for  which  ECC  apologizes. 

HAPPY  HOLIDAYS  TO  OUR  READERS  FROM  SYNTAX 


1 


E-Z  LOADER  SOFTWARE  BUG  FIX 


Repair  your  E-Z  Loader  by  just 
doing  these  simple  steps: 


o 

LOAD 

E-Z  LOADER 

o 

STOP 

the  program  (press  shift 
NL) 

0 

POKE 

16609,0 

0 

POKE 

16610,0 

0 

POKE 

16611,0 

o 

POKE 

16612,0 

o 

EDIT 

line  2,  changing  inverse 
to  normal  R. 

0 

SAVE 

the  program  using  GOTO  2 

Now  when  you  reload  and  execute  the 
program,  it  works  properly. 

This  fix  eliminates  the  double 
occurrence  of  80  hex  at  the  end  of 
the  variables  area  by  substituting 
NOPs  for  the  erroneous  E-Z  LOADER 
code  at  locations  16609-12. 

Ed  Gidley,  APO  NY 


SPEED  VU-CALC  KEYING 

As  written,  VU-CALC  delays  0.5 
seconds  after  each  keypress.  This 
fix  eliminates  the  delay  and  simply 
checks  to  see  if  you  released  the 
key.  If  you  hold  the  key  more  than 
0.5  second,  it  repeats. 


POKE  17458,6 
POKE  17459,150 
POKE  17460,197 
POKE  17461,205 
POKE  17462,187 
POKE  17463,2 


POKE  17464,193 
POKE  17465,44 
POKE  17466,200 
POKE  17467,16 
POKE  17468,247 
POKE  17469,2  01 
VA 


Greg  Pfountz,  Roanoke 


NEW  PRODUCTS  AND  SERVICES 


TAG  Software  offers  5  educational 
programs  written  in  ZX/TS  BASIC. 

For  children  and  young  adults,  the 
packages  reveal  details  of  program 
structure.  Topics  include  math, 
geography,  and  science.  Call 
203/723-2479  or  write  TAG  Software, 
POB  688,  Naugatuck,  CT  06770. 


WORD  SINC  II+,  ZX/TS  software  word 
processor  provides  42-character 
printout  on  ZX  or  TS2040  printers. 
Functions  include:  right- justify, 
search,  replace,  delete,  move, 
insert,  expand  print,  select  page 
length,  number  pages.  Provides 
full  character  set  &  punctuation, 
can  use  16-48K  memory,  auto-repeat 
keys,  and  fast  keyscan.  Embeds 
control  codes  in  text  and  uses  32- 
character,  upper-case-only  screen. 
$20  PPD  from  Gesang  Associates,  POB 
452,  Randallstown ,  MD  21133. 

Intercontroller  gives  you  4  110V 
outlets  individually  controlled  by 
your  ZX/TS  using  BASIC  ($99.95). 
Requires  Softbox  expansion  port, 
($59.95)  which  provides  4  software- 
selected  slots  for  intercontrollers 
or  other  accessories,  powers  your 
computer,  and  contains  an  extra 
peripheral  port.  Needs  a  flexible 
ribbon  connector  ($17.95).  Phone 
orders  617/738-5310,  or  write  to 
Intercomputer,  Inc.,  358  Chestnut 
Hill  Ave.,  Boston,  MA  02146. 

PAYOFF  &  PAYOUT,  two  personal  money 
management  programs,  analyze  your 
credit  costs  and  spending  patterns. 
PAYOFF  accepts  12  charge  accounts, 
which  may  have  two  interest  rates 
per  account,  and  shows  balances, 
time  to  payoff,  finance  charges, 
and  monthly  payments.  PAYOUT  uses 
named  expense  categories  to  record 
and  compare  your  quarterly  spending 
patterns.  Both  print  details  and 
summaries,  and  require  16K.  $12.95 

PPD  from  ACE  SOFTWARE,  2  East  Oak 
Avenue,  Moorestown,  NJ  08057. 

ZX/TS  USERS'  GROUPS 


Memphis,  TN:  Memphis  User  Group, 
New  contact  person:  Andy  Boles, 

3791  Barron  Ave.,  Memphis,  TN  38111 
901/346-0890 

Victoria,  BC:  Victoria  Sync  Assoc. 
Mr.  Dee  Schoolingin,  Sec-Treas., 

942  Cloverdale  Ave.,  Victoria,  BC, 
Canada,  V8X  2T6 


2 


PRO/FILE  Updates  starts  publishing 
in  Dec. 83 — first  issue  tells  how  to 
make  ZX  PRO/FILE  work  with  the  CAI 
stringy  floppy  and  how  to  preserve 
data  when  increasing  memory.  Four 
issues  yearly,  $9.95 — devoted  to 
support  of  ZX  PRO/FILE.  Order  from 
Thomas  B.  Woods,  POB  64,  Jefferson, 
NH  03583.  Tel:  603/586-7734. 

Programmer's  Utility  EPROM  for  the 
Hunter  NVM  gives  you  8  routines: 
renumber,  copy  (a  block  of  BASIC), 
search  for  all  occurrences  of  input 
string,  delete  blocks  of  lines,  REM 
killer  (by  block),  merge,  free  mem, 
&  stop  autorun  program.  One  USR 
call  takes  you  to  menu  and  prompts. 
Relocates  to  any  socket.  $18.50  in 
US  &  Canada;  $20  elsewhere,  PPD. 
Delphic  Enterprises,  POB  72205, 
Corpus  Christi,  TX  78472. 

HOT  Z-II,  revised,  expanded  to  give 
assembly-language  editor,  labelling 
disassembler,  single-step  debugger. 
Checks  syntax  of  Z80  mnemonic  entry 
&  relocates  MC  (including  itself) 
can  be  put  on  EPROM.  Cassette  with 
16  &  64K  versions.  Documentation 
(30pp+)  explains  how  to  customize. 
Current  owners  upgrade  for  $15.00. 
$24.95  +  $2  P&H  from  Sinware,  Box 
8032,  Santa  Fe,  NM  87504. 

Computer  Phone  Book  lists  over  400 
personal  computer  databases  and 
explains  how  to  access  them.  (Not 
all  will  be  compatible  with  ZX/TS 
machines.)  ISBN  0-452-25446-9,  at 
bookstores,  $9.95  US/$12.50  Canada 

Pressure-sensitive  thermal  labels 
for  TS2  04  0,  CAI  P4  0,  or  Alphacom 
printer.  Fan-folded  in  1000s  for 
$24.95.  E.  Arthur  Brown  Company, 
1702  Oak  Knoll  Drive,  Alexandria, 

MN  56308.  612/762-8847 

Games  for  Your  Timex-Sinclair  1000 
Games  for  Your  Timex-Sinclair  2  000 
From  Dell,  available  at  bookstores, 
each  contains  at  least  20  games  and 
several  pages  of  hints  for  changing 
them.  $5.95  US/$7.50  Canada 


Sue  Currier  announces  four  programs 
for  the  2068 — available  now,  Zeus 
Assembler  provides  full-screen  edit 
plus  insert,  delete,  clear  line  and 
clear  screen,  auto  line  number  with 
renumber,  list,  and  search.  Usable 
with  printer.  Personal  Accountant 
includes  3  programs — bookkeeping, 
amortization,  and  address  files. 
Bookkeeping  does  double-entry  books 
from  an  entry  of  one  amount  and  two 
account  names.  The  reports  section 
presents  trial  balance,  expense 
accounts,  assets  and  liabilities, 
and  income  and  expense  recap.  Each 
can  be  printed.  Amortization  does 
payment  or  interest  schedules  and 
can  print  the  results.  Address 
files  let  you  keep  3  lines  of  40 
characters  for  name  and  address  as 
well  as  2  40-charadter  note  lines. 

Gulpman  provides  15  mazes  and 
9  levels  of  play  in  X-man  format 
with  sound  and  graphics.  This  one 
can  use  joysticks. 

If  you  yell  in  the  Cyberzone, 
the  lasers  fire!  You  use  your  tape 
recorder  as  an  amplifier  to  achieve 
voice  control  in  this  game,  which 
is  also  joystick-compatible. 

Expect  2-3  more  releases — one 
will  be  a  Monitor-disassembler — in 
about  a  month.  Softsync,  Inc., 

14  E.  34th  St.,  NY,  NY  10016. 
212/685-2080 

Five  ZX/TS  releases  include 
Casino  Keno  uses  80-number  board, 
displays  payoff  on  demand  ($17.95). 
Money  Management  balances  checkbook 
without  duplicating  check  Register 
($12.95).  Loan  Finance  calculates 
installment  payments  for  both  fully 
amortized  and  credit  card  loans 
($14.95).  Bond  Yields  accounts  for 
coupon  income  and  capital  gains  to 
output  taxable  income,  current  and 
maturity  yields  ($10.95).  Bond 
Yields  with  T-Bill  Bond  Equivalent 
Yields  includes  all  bond  functions 
plus  converting  T-Bill  quoted  rates 
to  bond  equivalents  ($14.95).  Add 
$2  P&H  for  each  cassette.  MACSHAK 
SOFTWARE,  73-312  Ironwood  Street, 
Palm  Desert,  CA  92260. 


3 


HIGH  LINE  NUMBERS 


BINGO  CARD  GENERATOR — 8K/2K 


Did  you  know  your  machine  does 
not  limit  you  to  9999  BASIC  lines? 

If  you  attach  enough  memory, 
you  can  create  up  to  16383  lines. 
The  system  won't  edit  lines  with 
statement  numbers  greater  than 
9999,  but  you  can  create  higher 
numbered  lines  by  POKEing  the  line 
numbers  into  the  BASIC  line. 

Your  computer  executes  and 
lists  these  lines.  The  line  after 
9999  appears  as  A000;  the  highest 
line,  16383,  as  G383.  GOTOs  and 
GOSUBs  to  high  lines  work  fine. 

(Use  the  decimal  form  in  GOTOs 
and  GOSUBs  —  KO.) 

Since  you  must  POKE  the  line 
number,  to  most  easily  generate  a 
high  line,  enter  it  as  the  lowest 
line  in  your  program,  then  POKE  the 
high  byte,  always  located  at  16509 
for  the  first  line. 

Enter  the  following  lines  to 
see  how  it  works: 

255  PRINT  "TOP" 

POKE  16509,63 
254  PRINT  "ALMOST" 

POKE  16509,63 
253  PRINT  "AT  THE" 

RUN 

9999  GOTO  16383 
RUN 

Dave  Wood,  Lexington,  MA 

(Reprinted  by  permission  from  the 
Boston  Computer  Society  Sinclair 
Timex  newsletter.) 

EDITORIAL 

Act  now — call  1-800/24-TIMEX  to  ask 
for  customer  product  support, 
o  Say  what  you  want — software  or 
hardware  manuals,  connector  pinouts 
or  schematics,  service  or  technical 
manuals,  ROM  source  code — whatever, 
o  Don't  justify  your  request, 
o  Leave  your  name  and  address, 
o  Avoid  threats  of  complaints  to 
the  FTC,  Attorneys  General,  or 
Postal  Officials — allow  Timex  the 
chance  to  consider  its  options, 
o  Be  brief,  calm,  and  polite — KO. 


One  day  we  needed  bingo  cards 
in  a  hurry.  This  program  arose  out 
of  necessity  to  generate  regulation 
bingo  cards. 

Non-bingo  players  may  find  the 
quick  way  it  generates  random  num¬ 
bers  interesting.  I  set  up  the 
numbers  I  want  the  computer  to  sel¬ 
ect  from  in  variable  X$.  The  com¬ 
puter  takes  random  slices  from  the 
string  to  get  the  random  sequence, 
assuring  non-repeating  numbers.  I 
find  this  method  superior  to  con¬ 
ventional  random  number  choosers 
that  compare  each  number  generated 
to  all  those  that  came  before  it. 

I  use  the  COPY  command  in  the 
immediate  mode  to  print  the  bingo 
card,  but  you  can  add  135  COPY  for 
automatic  printing. 

Frank  Terranella,  Sloatsburg,  NY 


SYNTAX  HAS  ARRANGED  THE  FOLLOWING  HOLIDAY  PROMOTION  WITH  MINDWARE  INC.  !  ! 


SjC  PRICES  NEVER  AGAIN  TO  BE  REPEATED  ^ 

THE  MW-100  PLAIN  PAPER  PRINTER  THOUSANDS  SOLD  AT  $119.95  -  SPECIAL  CLOSE-OUT 

SPECIAL  CLOSE-OUT  PRICE  -  $49.95  plus  $4.95  for  shipping. 

90  day  parts  warranty.  All  units  are  factory  original. 


Mindware’s  MW-1 00  gives  you  the 
ability  to  make  hard  copies 
of  programs,  data,  mailing 
lists,  and  screen 
graphics 


PRINTER  IS 
COMPATABLE  WITH  : 


$49.95 


SINCLAIR  ZX-81 

TS-1000 

TS-1500 

plus  $4.95  for 
shipping 


BUSINESS  SOFTWARE  SPECIAL  : 


Choose  any  combination  of  three  from  the  following  ten  programs  -  Retail  Value  up  to  $74.85 


sags 


m 


m 


MATRIX  THE  FAST  ONE 

PLANNER  Store,  organize 

An  all-purpose  and  retrieve 

electronic  data  instantly 

spreadsheet  $24.95 

$22.95 


Z-TEXT  INVENTORY 

A  useful  word  CONTROL 

processing  Two  ways  to 

program  keep  track  of 

$19  95  inventories. 

$22.95 


FORECASTING  SLIDE  SHOW 
GRAPHS  Creates  and 

Analyzes  runs  video 

growth  display  shows 

trends  and  $22.95 

plots  graphs 
$22.95 


CRTTICAL  NUMERIC 

PATH  Solves  math 

Gets  complex  formulas  and 

scheduling  draws  graphs 

under  control  $24.95 

$19.95 


TOOLKIT  SCREEN  KIT 

Shortcut  Routines  to 

commands  for  enhance 

programmers  screen 

$19.95  displays 

$19.95 


any  3  assorted  for 

$34.95 

plus  $4.95  for 
shipping 


SPECIAL 


*  PRINTER  &  SOFTWARE  BUNDLE  * 

*  ANY  3  PROGRAMS  &  THE  MW-100  PRINTER  * 

*  JUST  $79.95  plus$4 . 95  shipping!  !  * 


GAME  SOFTWARE  SPECIAL: 


Choose  any  combination  of  three  from  the  following  nine  programs  -  Retail  Value  up  to  $51.85 


MONITOR  GULP 

Tests  and  Gobble  your 

debugs  way  through 

programs  in  mazes,  chased 

machine  code  by  ogres 

$19.95  $15.95 


LABYRINTH  PILOT 

Can  you  find  Cockpit 

your  way  controls 

through  that  teach  you 

3-0  corridors9  howto 

$15  95  navigate 

$1995 


GRAPHIC  GOLF  CROSSWORD 

A  challenging  Create  and  play 
18-hole  your  own 

golf  course  crosswords 

$9.95  $15.95 


ANAGRAMS  WORD  TEST 

Try  to  put  the  All  kinds  of 

scrambled  question  and 

words  answer  tests, 

back  in  order  $15.95 

$15.95 


■an 

c-P^ 

#'  +  • 

MULTIPLE  COSMOS 

CHOICE  Hyperspace 

Can  you  pick  laser  battles 

the  correct  among  the 

answer?  stars! 

$15.95  $15.95 


any  3  assorted  for 

$26.95 

plus  $4.95  for 
shipping 


Phone  and  written  orders  gladly  accepted. 

Money  Orders,  VISA,  MC  or  checks. 

Phone  Number  -  617-456-3661 


Call  or  write  ;  The  Harvard  Group,  Dept.  ESX 
R.  D.  2,  Box  457 
Harvard,  MA  01451 


EXAMINING  MACHINE  CODE — 8K/1K 

When  working  with  machine  code 
in  USR  routines,  you  need  a  conven¬ 
ient  way  to  check  and  edit  it.  Add 
this  program  to  the  end  of  another 
program  with  MC  subroutines.  It 
lets  you  easily  look  at  any  address 
in  memory,  leave  it  alone  or  change 
its  contents,  and  automatically  go 
to  the  next  address.  On  request  it 
returns  to  the  previous  address. 

Because  the  routine  uses 
INKEY$  for  data  entry,  run  it  in 
SLOW.  This  method  also  lets  it 
interpret  each  character  as  typed 
instead  of  waiting  for  ENTER. 

Give  the  program  a  starting 
address.  It  prints  that  address 
and  its  contents.  To  change  the 
contents,  enter  a  one-  to  three- 
digit  decimal  value.  If  you  enter 
three  digits,  the  computer  goes  on; 
if  fewer,  press  ENTER  to  continue. 
Leave  the  contents  unchanged  by 
pressing  ENTER.  Go  back  to  the 
previous  address  by  pressing  /.  I 
find  the  /  character  convenient  on 
my  keyboard,  but  you  can  change 
line  9565  to  check  for  a  more 
convenient  key. 

Stop  the  program  anytime  by 
pressing  BREAK.  You  can  then  run 
it  again  with  another  address. 


If  you  prefer  to  enter  and  see 
data  as  two-digit  hex  numbers,  sub¬ 
stitute  the  following  lines: 


Nels  Anderson,  Framingham,  MA 

SOFTWARE  REVIEW 

Program:  ZXLR8  Fast  SAVE/LOAD 

System 

Type:  Utility 

ROM/RAM:  8K/16K 

Written  in:  MC,  BASIC 
Listable?  Yes 

From:  Advanced  Interface  Designs 
P.O.  Box  1350 
State  College,  PA  16801 
Price:  $11  on  tape,  $21  on  EPROM 

ZXLR8 ,  a  versatile  and  reli¬ 
able  fast  SAVE/LOAD  cassette  stor¬ 
age  system,  not  only  quickly  SAVES 
programs,  but  also  arrays,  graphics 
and  binary  data  (machine  code).  In 
addition,  you  get  tape  indexing  and 
error  checking  routines.  In  all, 
you  get  11  tape  system  commands 
plus  a  calibration  program  to  find 
the  best  baud  rate  for  your  parti¬ 
cular  system. 

After  LOADing,  the  BASIC  pro¬ 
gram  asks  for  a  timing  and  calibra¬ 
tion  value,  then  for  a  starting 
location  for  the  MC,  letting  you 
put  the  routines  in  any  safe  RAM. 
After  transferring  the  MC  to  the 
specified  address,  the  computer 
erases  the  BASIC  program  and  clears 
the  workspace. 

ZXLR8's  excellent  manual  gives 
you  22  pages  of  thorough,  lucid 
documentation . 

I  encountered  only  one  problem 
with  the  system:  a  bad  copy  on 
side  one  of  the  cassette.  Side  two 
LOADed  relatively  easily. 

I  recommend  ZXLR8 — at  only  $11 
for  the  tape,  it's  a  bargain. 


6 


Len  Harmon,  Metairie,  LA 


HARDWARE  REVIEW 

Product:  Joystick  Adaptor 

For:  Any  size  system 
From:  Zebra  Systems 

78-06  Jamaica  Ave. 

Woodhaven,  NY  11421 
212/296-2385 
Price:  $19.95  +  P&H 

Zebra's  plug-in  joystick  adap¬ 
tor,  a  small  (1.5"x5,,x0.5")  module, 
lets  you  attach  an  Atari-style  joy¬ 
stick  to  your  ZX/TS.  The  unit  plugs 
onto  the  rear  edge  connector  and 
provides  another  standard  ZX/TS 
connector  on  its  backside  for  other 
peripherals.  The  traces  run 
straight  through  without  buffers. 

A  standard  9-pin  socket  (D9S)  ex¬ 
tends  from  the  unit's  left  side  to 
connect  your  joystick. 

Zebra  wired  the  unit  as  a 
direct-connected  input  port  addres¬ 
sable  by  any  I/O  READ  request  for 
addresses  below  port  32  decimal  (20 
HEX).  That  is,  when  A5  ,  A6 ,  &  A7  , 
as  well  as  IOREQ  and  RD  go  LOW,  the 
port  is  selected.  A  single  IC  on 
the  small  PC  board  performs  decod¬ 
ing  and  selection.  Zebra  scraped 
off  the  ID  numbers  of  this  lone  IC, 
but  a  quick  check  of  the  required 
decoding  makes  the  identification 
of  the  chip's  logic  fairly  simple. 

I  found  both  the  electronic 
design  and  physical  construction 
very  basic.  The  unit  attaches 
directly  (though  Zebra  provides 
protection  diodes)  to  the  D'n  lines 
to  indicate  which  internal  switches 
on  the  joystick  are  closed.  The 
port  is  thus  neither  buffered  nor 
uniquely  addressed  and  this  could 
cause  problems  if  you  use  other  10 
mapped  peripherals  at  the  same 
time.  Zebra  says  they  didn't  know 
of  any  potential  conflicts  in  port 
numbers  when  they  designed  the 
adaptor.  If  any  show  up  they  will 
advise  potential  users. 

Construction  looks  like  "home 
workshop"  type,  with  some  messy 
solder  blobs,  short  insulation  and 
other  minor  construction  flaws. 


Four  pages  of  documentation 
come  with  the  unit.  Although  they 
contain  a  few  typos,  the  booklet 
does  a  good  job  of  explaining  the 
unit's  capabilities.  On  the  nega¬ 
tive  side,  it  provides  no  schematic 
and  does  not  mention  the  partial 
decoding  of  the  port  number. 

You  must  address  the  unit  with 
a  USR  call,  which  non-machine  code 
programmers  could  find  a  bother. 
Also,  while  you  can  return  to  BASIC 
with  the  "value"  of  the  activated 
joystick  (with  8  axes),  the  speed 
with  which  BASIC  can  sort  out  your 
response  is  just  too  slow  for  any 
kind  of  real  arcade  action.  Zebra 
will  respond  to  the  problem  of 
applying  their  joysticks  to  exist¬ 
ing  software  by  publishing  a  list 
of  program  "patches"  to  modify  your 
software  to  use  the  adaptor.  They 
advised  me  that  patches  now  exist 
for  Flight  Simulator,  Dragons, 
Mazogs  and  3-D  Monster  Maze. 

Despite  these  few  negatives,  I 
find  the  unit  worth  $2  0.00.  You 
get  fair  value  for  your  money,  even 
as  just  a  joystick  port.  I  find 
other  potential  uses  more  exciting: 
cursor  control  for  the  handicapped, 
connection  to  a  $20.00  light  pen 
and  an  inexpensive  5-line  input  de¬ 
vice  for  use  in  security  and 
monitoring  applications. 

Paul  Donnelly,  Centreport,  NY 

CASSETTE  LABEL  MAKER — 8K/16K 

.  / 

This  program  lets  you  design  a 
three-line  label  on  the  screen  with 
all  characters  available,  then  just 
hit  "C"  to  copy  as  many  labels  as 
needed  on  the  printer. 

Once  printed,  you  need  only  a 
pair  of  scissors  and  a  little  glue 
for  really  professionally  labeled 
cassettes . 

Lee  E.  Gayman,  Mechanicsburg ,  PA 

E.  Arthur  Brown  now  offers  thermal 
mailing  labels  for  the  2040,  $24.95 
for  1000  (New  Products  this  issue). 


7 


In  testing  this  program,  we 
found  you  can  edit,  rather  than  re¬ 
enter,  when  the  messages  of  lines 
620  or  640  appear.  Do  this: 

o  Move  the  cursor  right 
o  Key:  ,  +  "lst"  +  xx$  (aTOb) +,,2nd,M 
o  Press  ENTER  (or  NEWLINE) 

where  1st  and  2nd  stand  for  any 
string  you  want  to  add  in  those 
positions.  Replace  xx  with  X  for 
the  first  line,  Y  for  the  second, 
or  Z  for  the  third.  Use  your 
choice  of  positions  for  a  and  b  to 
slice  the  string  you  want  to  edit. 

Hit  BREAK  to  exit. — KO 


10  REM 


8K  ROMCALLS — 8K/16K 


Why  reinvent  the  wheel?  Sin¬ 
clair  put  useful  machine  code  rou¬ 
tines  in  its  8K  ROM.  Some  of  us 
use  these  routines  to  great  advan¬ 
tage  by  CALLing  them  from  machine 
code.  You  might  like  to  know  the 
ROM  contains  295  unconditional  and 
27  conditional  CALLS,  what  address 
calls  them,  and  where  they  reside. 

This  program  first  scans  the 
ROM  up  to  7679,  building  a  stack  of 
CALLED  and  CALLING  addresses.  Then 
it  sorts  and  displays  them.  Since 
it  does  lots  of  work,  the  first  two 
phases  take  about  20  minutes.  The 
printing  procedure  follows. 

You  can  see  the  calls  in  lines 
120-140.  All  Z80  conditional  calls 
use  decimal  codes  of  196  or  greater 
at  intervals  of  8.  Line  140  checks 
for  these,  sending  all  other  codes 
through.  Since  no  call  uses  values 
below  196,  line  120  shunts  lower 
values  around  the  loop.  Code  205 
means  an  unconditional  call;  line 


8 


130  sends  this  address  directly  to 
the  call  processing  routine. 

Calls  for  the  Z80  processor: 


Value 

Call 

196 

NZ  ,NN 

2  04 

Z  ,NN 

2  05 

NN 

212 

NC  ,NN 

220 

C  ,NN 

228 

PO,NN 

236 

PE  ,NN 

244 

P,NN 

252 

M,NN 

Run  the  program  once,  SAVE  it. 
Then  GOTO  1  000  to  review  the  list 
(do  not  RUN).  GOTO  2000  LPRINTs 
the  entire  list  of  322  addresses. 

Martin  H.  Irons,  Goshen,  NY 


EXAMINE  THE  ROUTINES  IN  CONTEXT: 

this  program  assumes  every  byte  is 
instruction — not  text  or  address. 
Our  modifications  to  this  program 
limit  the  addresses  to  those  within 
the  ROM  and  do  not  scan  addresses 
above  the  last  return  in  the  ZX/TS 
or  Spectrum  ROMs.  We  also  changed 
the  formula  for  V$  to  permit  five¬ 
digit  addresses. 

SYNTAX  translated  this  program  with 
Firstloader  (this  issue)  and  found 
the  following  modifications  needed: 


LINE 

CHANGE 

CAUSE 

10 

DIM  (800,10) 

ROM 

SIZE 

30 

Delete,  was 

FAST 

MACH 

SPEC 

100 

...TO  14446 

ROM 

SIZE 

230 

. . . STR$ (V)+ 

ROM 

SIZE 

(STR$  (1+100000))  (2T06 ) 

240 

. . .>9. .  . 

ROM 

SIZE 

102  0 

...23689... 

MACH 

SPEC 

107  0 

... TO  5  ...  6 

TO  10 

ROM 

SIZE 

2060 

... TO  5  ...  6 

TO  10 

ROM 

SIZE 

Spectrum  &  2068  use 

23689 

in  1020. 

9 


OHM'S  ZXLAW - 8K/16K 

ZXlaw  calculates  4  functions 
of  Ohm's  law:  Power  (P)  in  Watts, 
Current  (I)  in  Amps,  Voltage  (V)  in 
Volts  &  Resistance  (R)  in  Ohms. 

RUN.  Input  known  values  as 
asked  (0  if  unknown).  After  you 
enter  two  non-zero  values,  your 
ZX/TS  calculates  the  other  two  and 
displays  all  four.  Press  any  key 
to  continue — BREAK  to  stop. 

Brad  Hogg,  Swan  River,  MB,  Canada 

Type  in  line  0  as  line  1.  Then  POKE 
16510,0.  Continue  as  usual. — AZ 


;  R  F  M  0  H  M  5  aL  X  L  Pi  U  ( C  ) 


BOOK  REVIEW 


Title:  Graphics:  A  to  Z. 

Author:  Paul  Bingham,  Rick  Goulian 

From:  PleasanTrees  Programming 

7760  N.  Hopdown 
Tucson,  AZ  85741 
Price:  $17.95  ppd.,  190  pgs. 

This  tutorial  manual  starts  at 
crude  BASIC  PRINT  statement  graph¬ 
ics  and  goes  to  machine  code  graph¬ 
ic  subroutines.  It  assumes  reason¬ 
able  familiarity  with  ZX/TS  BASIC. 
It  begins  with  a  slow  but  not  tedi¬ 
ous  explanation  of  basic  graphic 
PRINTing  and  PLOTting  and  rapidly 
builds  to  a  MC  subroutine  blitz. 

Starting  chapters  give  pro¬ 
grams  and  explanations  to  draw 
Ernie  of  Sesame  St.  and  mathema¬ 
tical  designs  (17  examples),  print 
big  characters,  perform  Etch-a- 
Sketch  functions  plus  horizontal 
and  vertical  bar  graphing.  Chapter 
3  covers  the  screen  format,  POKEing 
for  faster  action,  scrolling,  and 


lO 


begins  Z80  MC  routines  with  a  neat 
block  transfer  operation. 

Chapter  4,  Animation,  starts 
the  action,  explaining  elementary 
blending  technique — printing  one 
character  over  another  in  quick 
succession  to  simulate  motion.  The 
flip-book  method  covered  next  makes 
a  main  canvas  in  high  memory  that 
includes  all  your  graphic  elements, 
then  bringing  whole  blocks  of  can¬ 
vas  onto  the  screen  at  once. 

Chapter  5  separates  the  ad¬ 
vanced  second  section,  covering 
miscellaneous,  interesting  topics: 
sound  generation  (using  an  MC  driv¬ 
er  through  the  TV  screen),  reset¬ 
ting  RAMTOP  without  losing  vari¬ 
ables,  line  numbers  beyond  9999, 
line  number  0  and  an  array  of  mis¬ 
takes  that  cause  spectacular 
crashes.  This  chapter  also  wastes 
a  few  pages  discussing  a  compiler. 

Perhaps  the  most  powerful  two 
chapters  follow  next,  disecting 
Memotech's  HRG  (hi-res  graphics) 
packages.  The  listing  alone  takes 
23  pages  and  gives  memory  locations 
and  codes  for  the  HRG.  This  can 
help  HRG  owners  understand  their 
$99  unit  and  use  it  better.  I 
doubt  the  unscrupulous  will  enter 
the  code,  transfer  it  to  EPROM  and 
cheat  Memotech  of  well  deserved 
income — it  takes  about  7,000  key¬ 
strokes  just  to  enter  the  code. 

Finally,  chapters  8  and  9  deal 
with  MC  in  REM  statements,  using 
the  ROM  print  routines  and  advanced 
screen  printing  techniques  with 
animation  in  MC.  The  final  chap¬ 
ters  look  tacked  on;  MC  listings 
given  seem  virtually  undocumented. 

I  found  a  few  typos  in  the 
book  and  though  most  programs  con¬ 
tained  REM  lines,  the  accompanying 
text  reasonably  documented  them.  I 
felt  a  little  short-changed  by  the 
last  two  chapters  and  would  like  to 
see  them  expanded. 

Overall  I  consider  Graphics: 

A  to  Z  a  fine  treatment  of  the 
subject — an  8  on  my  l-to-10  scale. 

Paul  Donnelly,  Centreport,  NY 


For  16k  TS1000,  1500  &  ZX81 

20  Programs 

on  2  cassette  tapes 

for  the  amazingly  low  price  of 
not  $39.95.. .not  S29.95...0NLY  $19.95 

FREE  TRIAL  OFFER! 

An  Interview  with  Terrel  S.  Kareem,  President 
_ Simplex  Software,  (San  Francisco,  California) _ 

Question:  How  can  you  afford  a  free  trial  offer  of  a  software  package 
with  20  programs  on  2  cassette  tapes  for  the  price  many  firms  are 
charging  for  a  single  program? 

Answer:  I  believe  nearly  all  software  on  the  market  today  is  overpriced. 
Most  companies  attempt  to  market  a  wide  range  of  software,  and  thus  have 
high  inventory  and  marketing  expenses.  In  addition  these  individual  prog¬ 
rams  appeal  to  only  a  limited  segment  of  the  market.  With  the  HOME- 
PAC,  however,  we  have  only  one  package  to  manage,  and  it  appeals  to  a 
wide  audience.  We  compensate  for  our  lower  margin  by  our  higher  volume. 
Furthermore,  we  have  no  programmers  to  pay  since  I  personally  wrote  all 
the  programs. 

Question:  What  qualified  you  to  write  such  a  variety  of 
programs? 

Answer:  To  begin  with,  over  20  years  of  computing  experience,  including 
building  a  personal  computer  for  my  high  school  science  fair  in  1963.  But 
being  a  computer  expert  does  not,  by  itself,  qualify  one  to  create  a  quality 
home  software  variety  package.  My  experience  as  an  educator,  a  business¬ 
man  and  a  parent  did  that. 

Question:  With  so  much  computer  experience  yourself,  is  the  HOME- 
PAC  too  complicated  for  the  first  time  user? 

Answer:  On  the  contrary.  The  HOME-PAC  is  the  ideal  first  software  pack¬ 
age  for  the  beginner.  All  the  programs  are  easy-to-use  (user  friendly)  and 
the  21  page  illustrated  user  manual  makes  running  them  a  snap.  In  fact,  the 
entire  HOME-PAC  was  developed  with  the  beginning  user  in  mind. 

Question:  What  types  of  programs  are  on  the  HOME-PAC? 

Answer:  All  types.  Recreational,  games,  educational,  home  finance,  scien¬ 
tific  &  utility.  Programs  such  as  BIORHYTHMS,  ANIMALS,  STATIS¬ 
TICS,  STAR  INVADER,  CHECKBOOK  BALANCER,  LOAN  ANALY¬ 
SIS,  COMPU-SKETCH,  to  name  just  a  few. 

Question:  How  does  this  offer  differ  from  the  popular  software  maga¬ 
zine  offers? 

Answer:  A  number  of  ways.  First,  you  don’t  have  to  wait  12  months  for 
all  the  programs  you  paid  for  to  arrive.  They  are  all  shipped  immediately. 
Second,  you  get  a  money  back  guarantee  with  the  HOME-PAC.  Third,  and 
perhaps  best  of  all,  the  programs  and  instructions  are  much  higher  in  quali¬ 
ty.  But  don’t  take  our  word  for  it,  try  our  10  day  free  trial. 

Question:  How  does  your  free  trial  offer  work? 

Answer:  The  HOME-PAC  is  such  a  tremendous  value,  that  we  are  offering 
a  no  risk  10  day  money-back  guarantee.  If  a  customer  is  not  completely 
satisfied,  his  purchase  price  will  be  promptly  refunded,  no  questions  asked. 
Simply  return  the  HOME-PAC  within  10  days  in  good  condition. 

Question:  How  can  readers  take  advantage  of  this  no-risk  offer? 

Answer:  Although  the  HOME-PAC  is  available  through  retail  outlets,  this 
money  back  guarantee  is  available  only  by  ordering  direct  from  this  ad. 

Send  check  or  money  order  for  purchase  price  of  $19.95  plus  $2.00  to  cov¬ 
er  shipping  and  handling,  to  SIMPLEX  SOFTWARE,  220  N.  Centre  Street, 
Dept.  A7, 

Merchantville,  N.J.  08109.  Master  Card  &  Visa  customers  include  account 
number,  expiration  date  and  signature  (credit  card  users  speed  ordering  by 
calling  collect  609-662-3458).  N.J.  residents  add  6%  sales  tax.  Offer  Good 
For  Limited  Time  Only. 


ii 


DEAR  EDITOR: 


My  problem  is  unusual — in  fact 
"rare".  I  am  one  of  an  estimated 
75-80,000  Americans  with  ataxias. 
These  progressive,  irreversible 
neuromuscular  diseases  weaken  and 
uncoordinate  motor  and  sensory 
impulses.  In  my  case,  while  I  can 
type  at  an  apallingly  slow  rate,  I 
can't  load  typewriter  paper  myself. 

Since  I  have  a  mini-income,  I 
hopefully  tried  a  ZX80  from  a  1981 
magazine  ad.  Its  operating  system 
(ROM)  quite  nicely  fits  some  of  my 
special  needs,  so  when  8K  ROMS  came 
out,  I  found  a  friend  to  install  a 
dual-ROM  switch  and  rewired  Atari 
keyboard.  I  believe  Uncle  Clive's 
OS  is  by  far  the  best  for  me. 

Great!  But  without  superior 
ease  and  convenience  in  I/O  access, 
I  simply  cannot  handle  it  at  all.  I 
have  never  SAVEd  a  line  from  it 
(although  others  have)  and  only 
once  LOADed  to  it  in  2  1/2  years! 
This  is  because  I  am  unable  to 
manually  operate  cassette  recorders 
myself  and  lack  speech  to  get  help. 
With  a  better  keyboard  I  can  easily 
(though  v-e-r-y  slowly)  program  in 
Sinclair  BASIC  as  well  as  Z80  MC, 
but  it's  lost  when  I  can't  SAVE  it. 

Now  a  TS-2068,  with  American- 
added  user-ease,  looks  (in  reviews) 
almost  ideal  for  me,  except  for  its 
automatic  repeat.  Like  most  of 
America's  800,000  neuromuscular 
disabilities  (such  as  MD,  MS,  ALS, 
etc.)  FA  leaves  me  with  too  little 
dexterity  to  depress  the  keys 
lightly  and  quickly. 

How  can  I  program  repeat  out 
of  TS-2068  as  a  completely  user- 
transparent  MC  routine?  How  do  I 
time  it?  Where  in  memory  do  I  put 
it?  I  must  know  what  to  do 
beforehand,  because  I'll  have  to 
type  my  stuff  for  someone  else  to 
enter.  No  room  for  hit-or-miss 
trial  on  this  first  one! 

Roger  Keffer,  President 
Friedrich's  Ataxia  Group  in  America 
Kansas  Chapter  Lawrence,  KS 


Timex  2068  and  Spectrum  provide  the 
ability  to  change  both  initial  and 
repeat  interval  of  keys  using  POKES 
to  system  variables.  You  may  set  a 
delay  of  4.25  seconds  (255/60)  by 
POKEing  23561,255  (first  delay)  and 
23562,255  (subsequent  delays).  If 
those  don't  suffice,  I  suggest  an 
MC  routine  to  reset  those  registers 
frequently  or  a  substitute  keyboard 
scan  routine.  Readers  with  other 
solutions  can  write  to  us — KO. 


Some  comments  for  readers  who 
use  Programmers  Toolkit  16K  by 
Softsync — don't  REM  out  any  lines 
containing  GOTO  or  GOSUB  statements 
when  using  the  RENUMBER  routine. 

The  renumber  routine  works  very 
well  but  will  not  renumber  a  GOTO 
or  GOSUB  if  the  number  that  follows 
does  not  exist  as  a  line  number. 

Toolkit  instructions  don't  say 
so  clearly,  but  you  can  renumber 
from  any  line,  not  just  up  to  511. 

To  use  FILL  and  REVERSE,  lift 
them  out  of  Toolkit  and  save  them 
as  separate  line  1  REM  statements 
for  use  in  other  programs.  FILL 
uses  19  bytes  starting  at  32265? 
REVERSE,  20  bytes  at  32284.  Use  a 
standard  relocation  routine. 

On  my  menu-driven  programs,  I 
find,  since  the  menu  starts  at  line 
numbers  unique  to  each  program,  it 
helps  to  reserve  variable  G  for  the 
menu  start  line  number.  Then  you 
can  find  the  menu  start  line  and 
run  the  program  from  that  line  with 
GOTO  G — two  touches  of  the  G  key. 

R.H.  Mitchell,  Willowdale,  Ontario 


What  transistor  replaces  the 
ZTX-750  or  ZTX-752  in  the  power 
converter  that  makes  +12V  &  -5V  for 
the  memory  chips  in  the  Sinclair  or 
Timex/Sinclair  16K  RAM  pack? 

J.L.  Peeler, Costa  Rica 

As  Syntax  reported  in  May  82,  use  a 
TIP34A  to  replace  this  transistor. 
Complete  collections  of  back  issues 
are  available — see  p.23 — KO 


12 


Here's  my  solution  to  repair 
traces  on  the  flexible  strip  that 
goes  between  the  keyboard  and  the 
circuit  board. 

Bond  a  piece  of  30  AWG  buss 
wire  to  the  bad  trace  with  a  drop 
of  "Krazy  Glue."  Then  fold  the  end 
over  the  end  of  the  strip  and  cut 
off  the  excess. 

Ray  Moore,  San  Jose,  CA 
Krazy  Glue^  _ Buss  Wire 

Flex  Strip  Cut  Off  Excess 

•  •  •  •  • 

On  page  12,  Vol  4  No  10,  Oct 
83  you  recommend  a  9  VDC  source 
good  for  650  mA.  What  kind  of  setup 
do  you  use  to  measure  this? 

Frank  Kolar,  Fountain  Hills,  AZ 

For  those  of  you  who  need  this  kind 
of  basic  electronic  information,  I 
would  recommend  The  Radio  Amateur's 
Handbook,  published  by  the  American 
Radio  Relay  League — KO 


I  agree  with  Paul  Donnelly's 
assessment  of  The  Ins  and  Outs  of 
the  Timex  TS1000  and  ZX81 — I  found 
little  new.  Your  readers  may  like 
Timex-Sinclair  Interfacing  by  James 
M.  Downey  and  Don  Rindsberg  ($10.95 
from  Prentice-Hall).  A  broader 
selection  of  projects  are  described 
in  more  detail  than  in  Thomasson's 
book.  Still,  it's  not  perfect — 
there's  nothing  on  PIO's,  for 
instance.  It's  a  good  place  to 
start  and  better  value  for  money. 

I  purchased  a  2068  from  Sears, 
but  I'm  frustrated  by  the  missing 
pinout  for  the  two  expansion  ports. 
I  haven't  been  able  to  get  one  from 
Timex,  either.  As  a  service  to  your 
readers  could  you  print  pinouts  and 
a  full  schematic? 

Does  any  body  know  if  Memotech 
32K  RAM  packs  use  the  top  40  bytes 
of  the  8  to  16K  block  of  memory? 

Paul  W.  Hunter,  Okemos,  MI 


Call  1-8 00/2 4-TIMEX  &  tell  'em  what 
you  want — ALL  OF  YOU — we'll  respond 


After  months  of  performing  well 
recently  my  ZX81  can't  LOAD  tapes. 

On  the  TV  I  get  several  seconds  of 
black  and  white  noise,  then  noise 
with  broad  black  and  white  stripes. 
Now  the  screen  goes  white  and  after 
a  second  or  two  offers  K.  Hitting 
space  before  I  get  K  doesn't  affect 
the  screen.  I  bought  a  better  tape 
and  entered,  ran,  and  saved  a  600- 
step  program.  Right  after  saving 
it,  I  loaded  it  okay.  Trying  to 
load  it  another  day  produced  the 
same  condition. 

George  F.  Putnam,  Florissant,  MO 

I  have  a  ZX  81  with  a  16K  RAM 
module.  While  entering  a  program  my 
TV  screen  went  black.  When  I  reset 
the  computer  all  I  could  get  was  a 
clear  screen  with  the  K  missing 
from  the  black  square  in  the  lower 
left  corner  of  my  screen.  I  pressed 
NEW  and  ENTER;  my  screen  went  black 
again.  Unplugging  the  16K  module 
returned  things  to  normal. 

Charles  Davis,  Tompkinsville ,  KY 

Noise  makes  the  computer  quit  the 
LOAD  and  execute  NEW.  Black  on  the 
TV  denotes  positive  signals  at  the 
EAR  jack;  white,  no  signal.  Thus, 
white-flecked  black  bars  mark  drop¬ 
outs,  black  marks  in  white  spaces 
mean  noise  spikes. 

Test  with  short  programs  and 
find  out  if  it  goes  with  recorder, 
cassette,  RAM  or  computer. 

If  only  newly  made  tapes  LOAD 
suspect  a  signal-to-noise  ratio 
problem:  a  small  signal  buried  in 

normal  noise  or  a  strong  source  of 
noise  hiding  normal  signals.  If 
the  noise  isn't  on  the  signal  at 
pin  20  of  IC1,  replace  it. 

Sounds  like  Charles'  RAM  has  a 
problem  on  data  line  7.  When  you 
only  find  this  with  with  a  RAM  pack 
look  for  a  bad  RAM  chip  or  edge- 
connector  contact — KO. 


13 


FIRSTLOADER — FROM  ZX/TS  TO  2  068 

Syntax  commissioned  a  custom 
program,  written  by  David  Ornstein, 
to  convert  your  existing  programs 
for  the  2068  or  48K  Spectrums. 

This  program  translates  input 
bytes  from  ZX/TS  tapes  to  an  equal 
number  of  output  bytes  in  your  2068 
that  you  must  edit,  and  then  save. 
Codes  &  program  control  structures 
differ  in  the  two  designs,  making 
functionally  identical  programs 
use  different  numbers  of  bytes. 

Create  the  program  in  two 
parts — the  translation  table  shown 
here  and  the  executable  portion. 


Direct  tables,  such  as  this, 
consist  of  an  address,  derived  from 
the  input  code,  containing  an  entry 
that  equals  a  desired  output  code. 
Our  table  address  consists  of  the 
CODE  of  the  ZX/TS  character  +44000. 
Entries  consist  of  2068  codes  to 
produce  the  character,  command,  or 
function.  If  no  one  corresponding 
code  exists,  we  pick  a  substitute 
to  hold  the  space.  Then  we  edit 
the  translated  program  as  needed. 

Use  the  table  shown  to  produce 
the  translator  as  Syntax  tested  it. 
We  suggest  you  fill  the  table  area 
with  code  127  as  you  begin.  That 
way,  listing  the  table  produces  (C) 
symbols  if  you  miss  any  entries. 

You  can  modify  the  translation 
table  to  substitute  any  byte.  Add 
44000  to  the  ZX/TS  character  code, 
then  POKE  that  address  in  your  2068 
with  the  code  you  want  the  program 
to  contain.  Codes  below  32  trigger 
errors  in  the  display. 

For  example,  say  you  want  SLOW 
changed  to  REM.  You  take  228,  the 
ZX/TS  code  for  SLOW,  add  44000,  and 
POKE  44228,234— the  2  068  REM  code. 

You  can  enter  the  executable 
code  in  whatever  form  you  find 
convenient — we've  provided  both  hex 
and  decimal  listings — but  only  the 
assembler  listing  is  annotated. 

Save  the  2068  program  using 
SAVE "FIRSTLOADR"CODE  44000,1250. 
Make  several  copies  &  VERIFY  each. 

To  use  the  tape,  CLEAR  43999, 
then  LOAD"FIRSTLOADR"CODE  (enter). 
When  the  2068  displays  0  OK,  0:1 
Position  your  ZX/TS  tape  in  the  5- 
second  quiet  spot.  Activate  the 
loader  by  typing  RAND  USR  45000, 
and  observe  the  red  and  black 
stripes  in  the  border  area.  Then 
start  the  ZX/TS  tape  and  observe 
the  stripes  again  as  they  change 
width,  indicating  ones  and  zeros  in 
the  incoming  data. 

You  will  need  a  lower  volume 
setting  than  if  you  were  loading  to 
a  ZX/TS  from  the  same  recorder. 

You  may  find  a  Winky  board  eases 
loading.  In  some  cases  a  0.2  uF 
capacitor  in  series  with  the  center 


14 


conductor  of  the  ear  cord  and  a  lk 
resistor  shunting  the  2068  ear  jack 
permits  a  wider  range  of  volume 
settings  for  the  ZX/TS  tapes. 

When  the  converter  finds  the 
end  of  the  VARS  area  on  the  tape  it 
switches  from  load  to  convert.  At 
completion,  your  2068  will  display 
0  OK,  0:1.  LIST  your  proram  and 
look  for  junk.  If  your  translation 
looks  OK,  save  it  to  a  2068  tape 
before  you  proceed.  If  the  screen 
fills  with  garbage,  or  you  get  no 
listing,  or  LOADing  of  the  ZX/TS 
tape  stops  early,  type  NEW,  then 
try  a  different  volume  setting. 

Edit  the  2068  version  to 
account  for  differences  in  comments 
and  codes.  Of  course  you  can  also 
add  color  functions  to  the  2068 
program  thus  created. 

Not  all  keywords  translate 
sensibly — check  your  output  list 
for  the  following: 


Keyword 

CHR$ 

CODE 

FAST 

PAUSE  0 

PEEK 

PLOT 

POKE 

UNPLOT 

USR 

SCROLL 

SLOW 

Shift  Q 


Action 

Change  char  code 
Change  compared  value 
Delete  SpacE 
Delete  or  use  PAUSE  1 
Change  address 
Reprogram 

Change  address,  data 

Reprogram  SpacE 

Change  address 

Delete  SpacE  or  use  PRINT 

Delete  SpacE 

Change  SpacE  to  " " " 


Also,  the  program  removes  all  ZX/TS 
inverse  characters,  substituting 
normal  characters,  and  translates 
the  half-tone  character  graphics  to 
solid  blacks  of  the  same  shape. 

After  editing,  save  the  latest 
updated  and  enhanced  program  for 
use  with  the  2068. 

By  modifying  the  translation 
table,  you  can  substitute  user- 
defined  graphics  as  you  convert. 

You  can  purchase  this  program 
on  tape  for  $19.95  ppd  from  E-Z 
Key,  Suite  75-STX  711  Southern 
Artery,  Quincy,  MA  02169.  Call 
617/773-1187  to  use  VISA  or  MC. 


This  table  shows  addresses  to 
POKE,  in  steps  of  five,  with  the 
values  reading  lef t-to-r ight  for 
the  5  successive  locations.  POKE 
them  manually  or  write  a  loop  to 
advance  the  address  automatically. 
These  decimal  codes  correspond  to 
the  hexadecimal  assembly  listing  on 
the  following  pages. 


On  the  following  pages  you'll 
find  FIRSTLOADER  code,  assembled  to 
location  45000.  This  excludes  the 
translation  table.  Read  columns  as 
follows:  hex  address,  hex  code  for 

instruction,  assembler  line  number 
(ignore  it),  assembler  label  (for 
human  use),  then  a  Z80  instruction 
mnemonic  or  assembler  pseudo¬ 
operator,  operand  mnemonics,  and  a 
semicolon  followed  by  comments. 


1  5 


AFC  8 

00100 

ORG 

AFC  8 

CD3CB0 

00110 

CALL 

AFCB 

CDDEAF 

00120 

CALL 

AFCE 

0607 

00130 

LD 

AFDO 

3676 

00140 

INCASE 

LD 

AFD2 

23 

00150 

INC 

AFD3 

1  OFB 

00160 

DJNZ 

AFD5 

CD59B0 

00170 

CALL 

AFD8 

CD8EB0 

00180 

CALL 

AFDB 

C9 

00190 

RET 

AFDC 

CF 

00200 

ERR3 

RST 

AFDD 

03 

00210 

DEFB 

C01  4 

00220 

E 1  LINE 

EQU 

CO  15 

00230 

E2LINE 

EQU 

AFDE 

21 09C0 

00240 

LOADER 

LD 

AFE1 

1 10C00 

00250 

LD 

AFE  4 

19 

00260 

ADD 

AFE5 

36FE 

00270 

LD 

AFE  7 

A7 

00280 

AND 

AFE  8 

ED52 

00290 

SBC 

AFE  A 

CDFBAF 

00300 

LL36 

CALL 

AFED 

71 

00310 

LD 

AFEE 

7C 

00320 

LD 

AFEF 

FEOO 

00330 

CP 

AFF1 

2  8E9 

00340 

JR 

AFF  3 

CD4BB0 

00350 

CALL 

AFF6 

CD2EB0 

00360 

CALL 

AFF9 

1  8EF 

00370 

JR 

AFFB 

0E01 

00380 

INBYTE 

LD 

AFFD 

0600 

00390 

LL3 

LD 

AFFF 

CD44B0 

00400 

LL32 

CALL 

BO  0  2 

3E7F 

00410 

LD 

BOO  4 

DBFE 

00420 

IN 

B006 

IF 

00430 

RRA 

BO  0  7 

3031 

00440 

JR 

B009 

1  7 

00450 

RLA 

BOOA 

1  7 

00460 

RLA 

BOOB 

1  7 

00470 

RLA 

BO  OC 

3802 

00480 

JR 

BOOE 

1  8EF 

00490 

JR 

BO  10 

D5 

00500 

LL3  8 

PUSH 

BO  1  1 

1  E9  4 

00510 

LD 

BO  1  3 

0  6  1 A 

00520 

LL4 

LD 

BO  1  5 

ID 

00530 

LL5 

DEC 

BO  1  6 

DBFE 

00540 

IN 

BO  1  8 

1  7 

00550 

RLA 

BO  1  9 

1  7 

00560 

RLA 

BO  1 A 

CB7B 

00570 

BIT 

BO  1C 

7B 

00580 

LD 

BO  1 D 

38F4 

00590 

JR 

BO  1 F 

1  0F4 

00600 

DJNZ 

B021 

D  1 

00610 

POP 

B022 

2004 

00620 

JR 

B02  4 

FE56 

00630 

CP 

BO  2  6 

30D5 

00640 

JR 

45000 

FNAME 

LOADER 

B, 7 

(HL) ,118;  ZX/TS  NL 
HL 

INCASE 

XLATE 

MAKPRG 

8 

3 

49172;  ZX/TS  E-LINE  +  32K 
49173 

HL ,49161 ;  ZX/TS  VERSN  +  32K 
DE,  12 

HL , DE  ;  SKIP  12  BYTES  HL  PT  49173 
(HL)  ,  00FEH ;  LOAD  AT  LEAST  256  BYTES 
A 

HL ,  DE 

INBYTE  ;  GET  BYTE  IN  C 

(HL) ,C  ;  STORE  THE  ZX/TS  BYTE 

A ,  H 
0 

Z  ,  ERR3 

EFIX  ;  IF  HL=E2LINE  ADD  128  TO  HI 
ENDBYT  ;  BYTE  ( IND  HL) .  LAST  BYTE? 
LL36 

C, 1 

B ,  0 

BORDER  ;  FLIP  COLOR 
A ,  0  0  7FH 
A,  (00FEH) 

NC , LL7  ;  IF  BREAK  IS  PRESSED 


C  ,LL38  ;  IF  HAVE  A  SIGNAL 

LL32 

DE 

E,  148 
B  ,  26 
E 

A,  (00FEH) 


7  ,  E 
A ,  E 
C  ,  LL4 
LL5 
DE 

NZ , LL6 
86 

NC , LL3 


16 


B02 8  3F  00650  LL6  CCF 


B0  29 

CB  1  1 

00660 

RL 

B02B 

30D0 

00670 

JR 

B02D 

C9 

00680 

RET 

B02E 

23 

00690 

ENDBYT 

INC 

B02F 

EB 

00700 

EX 

B0  30 

2Al 4C0 

0071  0 

LD 

B0  3  3 

37 

00720 

SCF 

B034 

ED5  2 

00730 

SBC 

B0  36 

EB 

00740 

EX 

B037 

DO 

00750 

RET 

B038 

Cl 

00760 

POP 

B039 

C9 

00770 

RET 

B0  3A 

CF 

00780 

LL7 

RST 

B03B 

OC 

00790 

DEFB  12 

B03C 

CDFBAF 

00800 

FNAME 

CALL 

B0  3F 

CB79 

00810 

BIT 

B0  4  1 

28F9 

00820 

JR 

B043 

C9 

00830 

RET 

B0  4  4 

78 

00840 

BORDER 

LD 

B0  45 

EE02 

00850 

XOR 

B0  4  7 

D3FE 

00860 

OUT 

B049 

47 

00870 

LD 

B04A 

C9 

00880 

RET 

B04B 

11 1 5C0 

00890 

EFIX 

LD 

B04E 

7A 

00900 

LD 

B04F 

BC 

00910 

CP 

B0  50 

CO 

00920 

RET 

B0  5  1 

7B 

00930 

LD 

B052 

BD 

00940 

CP 

B0  5  3 

CO 

00950 

RET 

B054 

7E 

00960 

LD 

B055 

C680 

00970 

ADD 

B05  7 

77 

00980 

LD 

B0  5  8 

C9 

00990 

RET 

B059 

21 7DC0 

01000 

XLATE 

LD 

B05C 

7E 

01010 

LXL  1 

LD 

B05D 

FE76 

01020 

CP 

B05F 

C8 

010  30 

RET 

B060 

CD65B0 

01040 

CALL 

B063 

1  8F7 

01050 

JR 

B0  65 

110400 

01060 

LINE 

LD 

B068 

19 

01070 

ADD 

B069 

3E7F 

01080 

LLIN1 

LD 

B06B 

DBFE 

01090 

IN 

B06D 

IF 

01100 

RRA 

B06E 

3  OCA 

01  1  10 

JR 

B0  70 

7E 

01120 

LD 

B0  7  1 

FE7E 

01130 

CP 

B0  7  3 

2008 

01140 

JR 

B0  75 

360E 

01150 

LD 

B0  7  7 

1 10600 

01160 

LD 

B07A 

19 

01170 

ADD 

B0  7B 

1  8EC 

01180 

JR 

C 

NC,LL3 

HL  ;  WAS  THAT  THE  LAST  BYTE? 

DE  ,  HL 

HL ,  (El  LINE )  ;  IS  HL  PAST  IND  E 1  LINE? 

HL  ,DE 
DE  ,  HL 
NC 

BC  ;  GO  BACK  TO  MAIN  ROUTINE 

8 

INBYTE  ;  LOOK  FOR  1ST  INVERSE  CHAR 
7 ,  C 

Z,FNAME;  KEEP  LOOKING 

;  NOW  START  LOADING  ZX  CODE 
A , B  ;  FLIP  BORDER  COLOR  2  OR  0 

2 

( 00FEH)  , A 
B  ,  A 

DE  ,E2LINE ;  DID  I  JUST  LOAD  TO  E2LINE 
A ,  D 

H  ;  COMPARE  HI  BYTE 

NZ 
A ,  E 

L  ;  COMPARE  LO  BYTE 

NZ 

A , (HL) 

A, 128  ;  ADD  32K 

(HL) ,A 

HL ,49277;  1ST  BYTE  OF  1ST  LINE  # 

A, (HL)  ;  AT  16509+32K 

118  ;  IS  IT  1ST  NL  IN  ZX  D-FILE 

Z  ;  IF  SO ,  YOU'RE  DONE 

LINE 

LXL 1 

DE , 4  ;  SKIP  LINE  #  &  LENGTH 

HL ,  DE 

A , 0 0  7FH  ;  TEST  BREAK  ON  206  8 
A ,  ( 00FEH)  ;  GET  CHAR  IN  ACCUM 

NC , LL7  ;  EXIT  IF  BREAK  PRESSED 
A,  (HL)  ;  GET  BYTE 

126  ;  CHECK  FOR  ZX/TS  SLUG 

NZ , LLIN2 ;  GET  CODE  FROM  TABLE 
(HL) , 1 4  ;  SUBST  2068  SLUG 
DE , 6  ;  SKIP  SLUG  +  5  BYTES 

HL ,  DE 

LLIN1  ;  DO  IT  AGAIN 


17 


B0  7D 

E5 

01190 

LLIN2 

PUSH 

B0  7E 

1 1E0AB 

01200 

LD 

B0  8  1 

2600 

01210 

LD 

B0  8  3 

6F 

01220 

LD 

B0  8  4 

19 

01230 

ADD 

B0  85 

7E 

01240 

LD 

B0  86 

El 

01250 

POP 

B0  8  7 

77 

01260 

LD 

B0  8  8 

23 

01270 

INC 

B0  89 

FE0D 

01280 

CP 

B0  8B 

20DC 

01290 

JR 

B08D 

C9 

01300 

RET 

B08E 

1 1 7DC0 

01310 

MAKPRG 

LD 

B0  9  1 

A7 

01320 

AND 

B09  2 

ED52 

01330 

SBC 

B09  4 

44 

01340 

LD 

B095 

4D 

01350 

LD 

B096 

C5 

01360 

PUSH 

B0  9  7 

2A4B5C 

01370 

LD 

B09A 

2B 

01380 

DEC 

B09B 

ED5B535C 

01390 

LD 

B09F 

D5 

01400 

PUSH 

B0A0 

CDBB 1 2 

01410 

CALL 

B0A3 

D  1 

01420 

POP 

B0A4 

ED53535C 

01430 

LD 

B0A8 

Cl 

01440 

POP 

B0A9 

23 

01450 

INC 

B0AA 

23 

01460 

INC 

B0AB 

EB 

01470 

EX 

B0AC 

21 7DC0 

01480 

LD 

B0AF 

EDB0 

01490 

LDIR 

BOB  1 

C9 

01500 

RET 

BORDER 

B0  4  4 

00840 

00400 

El  LINE 

C01  4 

00220 

00710 

E 2 LINE 

CO  15 

00230 

00890 

EFIX 

B04B 

00890 

00350 

ENDBYT 

B02E 

00690 

00360 

ERR  3 

AFDC 

00200 

00340 

FNAME 

B03C 

00800 

00110 

00820 

INBYTE 

AFFB 

00380 

00300 

00800 

INCASE 

AFD0 

00140 

00160 

LINE 

B065 

01060 

01040 

LL3 

AFFD 

00390 

00640 

00670 

LL32 

AFFF 

00400 

00490 

HL  ;  STORE  THE  BYTE  ADDRESS 

DE,  44000;  TABLE  START  ADDRESS 
H,0  ;  PUT  ZX/TS  CHAR  CODE  IN  HL 

L  ,  A 

HL , DE  ;  ADDRESS  OF  BYTE  IN  TABLE 

A ,  (HL)  ;  GET  BYTE  FROM  TABLE  TO  A 

HL  ;  RECALL  BYTE  ADDRESS, 

(HL) ,  A  ;  PUT  NEW  CODE  IN  OLD  ADDRESS 

HL 

13  ;  CHECK  FOR  2068  NL 

NZ , LLIN 1 ;  NO,  DO  IT  AGAIN 

;  FINISHED  THAT  LINE 
DE  ,49277;  APPEND  PROG  TO  2068  CONTENT 
A 

HL ,DE  ;  HL  PT  1ST  BYTE  OF  D-FILE 

B, H  ;  BC  =  NO.  BYTES  IN  PROGRAM 

C  ,  L 

BC  ;  SAVE  SIZE  OF  PROG 

HL,  (23627);  ADDRESS  OF  2068  VARS 

HL 

DE,  (23635);  ADDR  OF  2068  BASIC  PROG 
DE  ;  SAVE  PROG  SYSVAR 

4795  ;  CALL  ROM  INSERT-USE  5717  ON 

DE  ;  SPECT-RESTORE  PROG  SYSVAR 

(.23635)  , DE 

BC  ;  BYTE  COUNT  OF  PROG 

HL 

HL 

DE , HL  ;  DE=DATA  DESTINATION 
HL , 49277 ;  START  OF  STUFF  TO  MOVE 
;  BLOCK  MOVE 


LL36  AFEA  00300  00370 

LL3 8  B0 1 0  00500  00480 

LL4  B0 1 3  00520  00590 

LL5  B0 1 5  00530  00600 

LL6  B02 8  00650  00620 

LL7  B03A  00780  00440  01110 

LLINl  B069  01080  01180  01290 

LLIN2  B07D  01190  01140 

LOADER  AFDE  00240  00120 

LXL1  B05C  01010  01050 

MAKPRG  B08E  01310  00180 

XLATE  B0  59  01000  001  70 


Only  one  change  will  make  this 
program  work  with  a  48K  Spectrum  as 
well.  At  B0A0H  (45216  decimal),  we 
call  a  ROM  routine  located  at  4795 
in  the  TS2068  and  at  5717  in  the 
Spectrum.  These  routines  create  an 
empty  space,  but  you  must  fill  it. 


Most  of  this  code  is  self- 
contained.  Only  the  routine  XLATE, 
located  at  45145,  passes  a  value  to 
the  code  for  MAKPRG.  If  you  modify 
code,  restore  the  value  held  in  HL 
on  return  from  address  45151  prior 
to  calling  MAKPRG. 


18 


SOFTWARE  REVIEW 

Program:  Tax  Return  Helper 
Type:  Home/Business 
ROM/RAM  reqd :  8K/16K 

Written  in:  BASIC 
From:  KSOFT  Co. 

845  Wellner  Road 
Naperville,  IL  60540 
(312)  961-1250 
Price:  $14  for  TS1000, 

$18  for  TS2000 

No  matter  who  you  are,  once  a 
year  you  must  pay  income  taxes. 

Many  find  the  job  complicated 
enough  to  seek  expert  help.  The 
most  difficult  aspect  of  prepara¬ 
tion,  it  seems,  lies  not  in  knowing 
tax  law,  but  in  computing  the  fig¬ 
ures  and  correlating  entries  on  the 
forms.  Often  various  forms  or 
values  use  another  specified  value. 

Suppose  after  you  complete  the 
form  you  find  an  error  or  an  over¬ 
looked  check  stub.  You  may  need  to 
make  ten  changes  on  the  return  to 
correct  the  omission. 

But  Tax  Return  Helper  can  make 
preparing  and  correcting  your  in¬ 
come  taxes  simple  and  efficient. 

This  user-friendly  program 
uses  an  automatic  data  transfer 
system  that  makes  it  work  like  an 
electronic  spreadsheet,  assuring 
smooth,  accurate  data  correlation 
between  forms. 

Even  after  you  enter  data  or 
complete  the  return,  you  can  easily 
make  corrections.  Just  enter  the 
new  figure  on  the  appropriate  line 
and  the  computer  updates  all  lines 
that  entry  interacts  with. 

I  tested  five  tax  return  pro¬ 
grams.  Only  this  version  from 
KSOFT  features  this  system,  similar 
to  those  found  in  professional 
software  packages  selling  from  sev¬ 
eral  hundred  to  $1000  or  more. 

With  Tax  Return  Helper  you  can 
print  the  entire  form  or  just  copy 
the  screen  in  a  32-character  for¬ 
mat,  then  transfer  data  to  federal 
forms  and  save  everything  on  tape. 

Despite  the  functional  ease  of 


the  software,  it  exhibits  flaws. 

For  example,  I  found  three  consis¬ 
tent  spelling  errors — annoying  but 
they  did  not  interfere  with  the 
program's  performance. 

Gabriela  Abramovici,  KSOFT 
president,  assured  me  that  her 
quality  control  department  fixed 
the  mistakes  and  future  editions 
will  arrive  perfect. 

In  the  entire  package,  the 
documentation  falls  short.  The 
poorly  written  instructions  need 
revision.  Although  the  directions 
detract  from  the  overall  excellence 
of  the  package,  its  user-friendli¬ 
ness  more  than  makes  up  for  what 
the  instructions  lack. 

Toward  the  end  of  my  testing, 
the  cursor  developed  an  apparently 
benign  quirk — it  changed  from  its 
usual  inverse  space  to  the  word 
PLOT,  then  after  I  entered  data  to 
?LOT .  This  didn't  seem  to  affect 
program  operation  and  it  returned 
to  normal  after  the  system  correl¬ 
ated  the  affected  lines. 

As  a  result  of  consisting 
entirely  of  BASIC,  the  program 
handles  interaction  within  the 
forms  somewhat  slowly.  As  a  pro¬ 
fessional  tax  preparer,  I  find  this 
limiting.  I'd  like  a  64K  machine 
code  version  to  allow  all  the  sup¬ 
plied  forms  to  interact  swiftly  and 
interface  to  a  full-size  printer. 
For  professional  use,  I  would  also 
like  to  see  form  4972  or  maybe 
Schedule  G  for  income  averaging. 

All  in  all,  KSOFT  presents  a 
superior  package  for  home  use.  You 
can  get  the  1983  edition  in  Janu¬ 
ary.  The  program  provides  Form 
1  04  0  and  Schedules  A,  B,  C,  D  and 
E.  A  short  test  program  helps  you 
set  the  proper  loading  volume. 

As  a  professional  courtesy,  I 
remind  you  that  no  matter  how  you 
prepare  you  taxes,  you  are  solely 
responsible  for  it  and  must  prove 
your  deductions  if  audited  and  pay 
any  additional  taxes  or  penalties. 

Victor  M.  Font  Jr.,  P.0.  Box  1436, 
Bayonne,  NJ  07002-6436 


19 


MEMOTEXT  SPECIFICS 

Overall,  I  think  Memotech  pro¬ 
duces  a  powerful  word  processing 
module.  I  would  like  to  add  these 
observations  to  the  Memotext  word 
processor  review,  just  published  in 
SYNTAX  Sep. 8 3 : 

Major  Advantages: 

1.  Memotext  totally  redefines  KB 
(keyboard)  functions  to  operate  as 
a  typewriter — without  shift,  you 
type  lower  case  letters,  numbers, 
space  and  period.  Shifted  letters 
become  upper  case.  You  can't  pro¬ 
duce  graphics.  You  can  get  other 
KB  symbols  such  as  <,  "  and  ?  using 
easy  special  commands  and  symbols 
not  available  on  the  KB  such  as  !, 

#  and  @  with  ASCII  character  hex 
code  commands,  if  your  printer 
recognizes  them.  Letters,  numbers 
and  DELETE  repeat  when  you  hold  the 
key.  You  can  type  very  fast. 

2.  When  text  contains  syntax  or 
command  errors,  the  system  displays 
clear,  meaningful  prompts  before 
printing  or  saving. 

Serious  Disadvantages: 

1.  Deletes  only  single  characters 
or  erases  the  entire  document — no 
words  or  lines. 

2.  Lacks  a  memory-remaining  mode. 

Minor  Disadvantages: 

1.  Space  key  does  not  repeat. 

2.  Cursor  moves  only  one  character 
or  line  at  a  time. 

3.  Switching  the  unit  off  requires 
you  to  reset  the  computer  to  clear 
the  screen. 

Observations : 

1.  Right  margin  justification  may 
fail  by  one  or  two  characters.  It 
also  often  puts  extra  space  in  poor 
locations,  like  between  a  paragraph 
number  and  the  first  word. 

2.  The  manual  lacks  example  text 
inputs  and  the  resulting  print,  and 
does  not  illustrate  cursors. 

Cedric  Bastiaans,  Los  Angeles,  CA 


CASH  REGISTER — 8K/16K 

Cash  Register  lets  your  ZX/TS 
act  like  a  cash  register  record 
keeper  for  a  small  retail  store. 

It  records  sales  to  each  customer 
by  item  number,  price,  tax  (if  any) 
and  price  plus  tax  for  each  item. 

It  shows  each  customer's  subtotal 
and  gives  end-of-day  totals. 

Enter  the  tax  rate  for  your 
area,  each  item's  price,  whether  it 
is  taxable  and  the  flag  to  go  to 
subtotal.  After  each  customer  an¬ 
swer  Y/N  to  go  to  another  customer 
or  to  ending  totals.  At  line  65, 
enter  Cl  if  using  a  TS  printer  to 
get  printed  output  as  well. 

This  program  rounds  all  fig¬ 
ures  to  two  decimal  places.  I  used 
0  as  a  flag  because  you  likely 
won't  find  it  as  a  price.  If  you 
must  use  0  as  a  price,  change  lines 
85  and  100  to  -1.  The  program 
requests  Y/N  to  taxable  or  not. 

For  a  fixed  tax  rate,  delete 
lines  20  and  25  and  change  line  92 
to  LET  T=tax  rate  in  decimal  form. 

REM  statements  list  the  vari¬ 
ables  used;  delete  them  if  you  wish 
to  save  memory. 

Record  up  to  50  customers  with 
Cash  Register  as  written.  With 
more  memory,  increase  the  higher 
numbers  in  line  90  and  190. 

If  you  won't  use  a  printer, 
delete  lines  63-65,  73,  88,  166, 
176,  181,  211,  251-254,  311,  341, 
361  and  370. 

/ 

Arthur  Field,  Holden,  MA 


20 


21 


UNJOMBLE  WORD  GAMES — 8K/2K 


CLASSIFIED  ADS 


Our  local  newspaper  carries  a 
scrambled  word  game.  This  program 
helps  me  unscramble  any  word. 

RUN  Unjumble  in  FAST.  Until 
it  fills,  the  screen  blanks.  For 
short  words,  hit  BREAK  to  see  the 
list.  If  you  see  no  correct  word, 
press  CONT  for  more  combinations. 
Successive  screens  take  longer.  In 
2K,  you  can  do  at  most  5  letters. 

C.  Inman,  Harmony,  RI 


This  program  isn't  fast,  but  it's 
persistent.  To  avoid  waiting  for¬ 
ever  for  a  new  word  that  didn't 
exist,  I  added  this  routine  to 
count  how  many  words  the  computer 
already  came  up  with.  With  a  word 
of  n  letters,  you  can  make  n!  pos¬ 
sible  combinations.  With  a  five- 
letter  word,  for  example,  5!  means 
5*4*3*2  *1 ,  or  120.— AZ 


Reach  thousands  of  ZX/TS  users — for 
just  $9/line!  Send  your  typed  copy 
(35  characters  per  line)  with  check 
or  MO  to  reach  us  by  the  15th  to  be 
published  in  the  next  issue  exactly 
as  typed.  No  fractions  or  cent 
symbols.  Include  your  phone  No. 
SYNTAX  Classified, 

RD  2,  Box  457,  Harvard,  MA  01451. 

******  LEARN  ASSEMBLER  EASILY  ***** 

*  Machine  code  doesn't  load?  * 

*  Find  textbooks  confusing?  * 

************  ZX81  -  16K  *********** 
Loader/saver  program  on  cassette 
with  instructions  and  intro  booklet 
$14.95  (CA  add  6%)  +  $1.00  P&H  CK/MO 

ORANGE  COAST  SOFTWARE  CORPORATION 


PO  Box  951,  Midway  City,  Ca. 

92655 

SERVICE  from  SYNTAX: 

$  US 

o 

Zilog  Z80-Z80A  Tech.  Man 

7.88 

o 

Zilog  Assy  Lang  Prog  Man 

15.75 

0 

Crash  Course  in  Micros 

Hardware  and  Mach  Lang 

19.95 

0 

Exper.  in  Artfcl  Intell 

AI  Programs  for  Micros 

9.95 

0 

Programmer's  Market 

16.95 

0 

Plastic  Micro  Charts 

Z80  CPU 

5.95 

8080A  &  8085A 

5.95 

8048  &  RELATIVES 

5.95 

6502  (65XX) 

5.95 

BASIC  ALGORITHMS 

5.95 

Any  5  charts  for 

24.95 

Shipping  &  handling  charges: 

Micro  Charts  $l/order 
Books  (except  Zilog)  $1.50/book 
ORDER  by  telephone:  617/456-3661 

PAY  by  MC/VISA/AMEX/DINERS 

ELIZA  FOR  16K  T/S.  DOES  YOUR 
COMPUTER  ANSWER  YOU?  ELIZA  DOES. 
SIMULATES  PSYCHOTHERAPY/COMPUTER 
INTELLIGENCE.  CASSETTE  $14.95 
SINCLAIR  SOFTECH  P.  0.  BOX  82A 
SINCLAIR,  WY  82334 

Just  300  bargains  available — order 
only  by  phone,  pay  only  by  credit 
card — The  ZX81/TS1000  Home  Computer 
Book  by  David  C.  Foyt.  Shipped  to 
you  for  $1 0+$1.5 0  P&H:  617/456-3661 


22 


SYNTAX  is  published  monthly  by  a  wholly- 

owned  subsidiary  of  The  Harvard  Group. 


Syntax  ZX80,  Inc. 

RD  2,  Box  457,  Harvard,  MA  01451.  Telephone 
617/456-3661. 

12  issues,  $29.  Single  issue,  $4. 


Publisher:  Kirtland  H.  Olson 
Consulting  Editor:  Ann  L.  Zevnik 
Technical  Consultant:  Kirtland  H.  Olson 


©  Syntax  ZX80,  Inc.,  1983.  All  rights  reserved. 
Photocopying  prohibited.  ISSN  0273-2696 


OUR  POLICY  ON  CONTRIBUTED  MATERIAL 

SYNTAX  invites  you  to  express  opinions  related  to  any  Sinclair  computer  or 
peripheral,  or  the  newsletter.  We  will  print,  as  space  allows,  letters  discussing  items 
of  general  interest.  Of  course,  we  reserve  the  right  to  edit  letters  to  a  suitable  length 
and  to  refuse  publication  of  any  material. 

We  welcome  program  listings  for  all  levels  of  expertise  and  written  in  either 
Sinclair  BASIC  or  Z80  machine  code.  Programs  can  be  for  any  fun  or  useful 
purpose.  We  will  test  run  each  one  before  publishing  it,  but  we  will  not  debug 
programs;  please  send  only  workable  listings.  Programs  submitted  on  cassette  can  be 
tested  more  quickly  and  with  less  chance  of  error. 

In  return  for  your  listing,  we  will  pay  you  a  token  fee  of  $2.00  per  program  we 
use.  This  payment  gives  us  the  nonexclusive  right  to  use  that  program  in  any  form, 
world-wide.  This  means  you  can  still  use  it,  sell  it,  or  give  it  away,  and  so  can  we. 

We  will  consider  submissions  of  news  and  hardware  or  software  reviews.  Please 
keep  articles  short  (350-400  words).  Again,  we  reserve  the  right  to  edit  accepted 
articles  to  a  suitable  length.  We  will  pay  7  cents  per  6  characters,  including  spaces 
and  punctuation,  for  accepted  articles. 

When  you  send  in  programs  for  possible  publication  in  SYNTAX,  please 
include  the  following  information: 

•  How  to  operate  the  program,  including  what  to  input  if  it  does  not  contain 
prompts. 

•  Whether  you  can  run  the  program  over  again  and  how. 

•  How  to  exit  the  program. 

•  The  Syntactic  Sum  (program  published  in  Feb.  81  and  Jun.  81;  send  SASE 
for  a  free  copy). 

•  What  RAM  size  program  requires. 

•  What  ROM  program  uses. 

We  pay  for  this  explanatory  text  at  the  same  rate  as  for  articles  in  addition  to 
payment  for  the  program  itself. 

If  you  want  us  to  return  your  original  program  listing  or  article,  please  include 
a  self-addressed,  stamped  envelope.  Otherwise,  we  cannot  return  submitted  material. 


INTRO.  TO  COMPUTER  PROGRAMMING  FOR 
INFO.  SERVICES  (TS1 000/15 00) .  $20. 
UCLA  Course  Notes.  MC/VISA  (213) 
760-8110.  Cibbarelli,  11684  Ventura 
#295,  Studio  City,  Ca  91604. 

USEFUL  SOFTWARE  with  USEFUL  MANUALS 
(16k  ZX  &  T/S)  How  to  use  it,  how 
it  works,  how  to  modify  it.... STOCK 
PLOT. . .MEMBERSHIP  DIRECTORY. . .GAMES 
SCOREBOARD,  and  more.  $14  manual  & 
tape,  $9  manual  &  list?  incl.  $1.50 
P  &  H  (CA  res.  add  6.5%  tax),  SEND 

FOR  CATALOG . Kendric  C.  Smith, 

927  Mears  Court,  Stanford,  CA  94305 

Three  programs.  $12. 50/each.  *ZX81 
TEXT  PROCESSOR* 32K, 2 000  Words  cpty. 
*ZX81  APPOINTMENT  CALENDAR*  32K,  50 
Events  cpty.  *TIC-TAC-TOE*16K.  Chk/ 
M.O.to  A.  Rodriguez ,1605  Penn.  Ave. 
No.  204,  Mia.  Bch. ,  FI.  33139 

**REMOTE  "POWER  SQUEEZER"  CONTROL** 
TRANSFORM  YOUR  ZX81/TS1 00016K  RAM 
INTO  A  HOME  ENERGY  CONTROL  SYSTEM. 
POWER  SQUEEZER  TRANSMITS  ON  HOUSE 
WIRING  TO  BSR  RECEIVERS.  RECEIVERS 
AVAILABLE  EVERYWHERE.  POWER  SQUEEZ¬ 
ER  PLUGS  INTO  CASSETTE  PORTS.  USER 
FRIENDLY  PROGRAM  ON  QUALITY  CASSET¬ 
TE  +  APPLICATION  NOTES.  6  MONTH  LI¬ 
MITED  WARRANTY.  ***$79 . 95***UPS  AIR 
MC  &  VISA  CALL  801-943-9857,  OR 
SEND  CHECK/MONEY  ORDER  (USA  FUNDS) 
TO:  GOLDWATER  MANUFACTURING  COMPANY 
PO  BOX  1715  SANDY  UTAH  84091 


Fill  out  the  coupon  below  and  mail  it  to:  SYNTAX  RD2  Box  457,  Harvard,  MA  01451 


s  12/83 


My  check  is  enclosed.  !  Please  charge  my  VISA 

Make  checks  payable  to:  Diner’s  Club  I  i  American 

SYNTAX  ZX80.  Inc.  Express  I  !  Mastercard 

i  i  Carte  Blanche  account 

Account  number _ 

Exp.  date  — _ _ Bank  number  (MC  only)  _ 

Signature  _ _ _ _ 

Name  _ _ _ 

Address _ _ 

City - - State _ _Zip _ 


YES!  Please  send  me: 

□  The  Combination  (12  issues  of  SYNTAX  and  4  issues 

of  SQ) .  $39 

□  The  Catch-up  (SYNTAX  Jan.  82-Dec.  83,  SQ  Winter  82- 

Winter  83,  plus  1  binder) .  $77 

□  The  Works  (SYNTAX  Nov.  80-Nov.  83,  SQ  Winter  82- 

Winter  83,  plus  2  binders,  a  50%  savings)  .  $97 

□  12  issues  of  SYNTAX .  $29 

□  4  issues  of  SQ.  The  Syntax  Quarterly .  $15 

D  1  issue  of  SQ  D  Premier  D  Spring  D  Summer 

□  Autumn  83 .  $4.95 

□  1  Binder .  $9  □  1  issue  of  SYNTAX .  $4 


Day  phone  (  ) _ Evening  phone  ( 

□  My  subscription  number  is: _ 

!  This  is  a  new  subscription. 


Telephone  orders  call 

617-456-3661 

These  offers  expire  1  730  /  84 —SUBSCRIBE  NOW. 


23 


SYNTAX 


16K  PERSONAL  FINANCE  PROGRAM  TAPES 
****RETURN  ON  INVESTMENT**** 
Evaluate  stocks ,  real  estate,  money 
funds,  savings,  etc.  Rate  of  return 
&  Gain/Loss.  Compare  Investments. 

******INCOME  PORTFOLIO****** 
Monthly  &  annual  record  &  graphics. 
Excellent  income  tax  data  record. 
**Self  prompting  &  Printer  copies** 
$14.95  each,  $24.95  both.  Check  or 
money  order.  RAE,  604  Danley  Drive, 
Fort  Myers,  FL  33907 

1983  TAX  RETURN  HELPER.  5  programs 
for  FORM  1040  &  Schedules  A,B,C,D,E 
Data  is  easy  entered  and  modified 
on  a  screen  copy  of  the  form.  All 
the  lines  affected  by  a  change  are 
instantly  updated.  FORM1040  &  Sch.A 
are  corelated.  $14  TS1000(16K  RAM) 
$18  TS2068  (+$1.50  s&h) .  From  KSOFT 
845  Wellner,  Naperville,  IL60540 

ZX  PRO/FILE:  the  most  advanced  best 
documented  file  manager  you  can  put 
in  your  computer.  16-64K,  flexible 
file  size,  FAST  access,  multi-word 

search,  59  page  text,  more . . . $16 . 95 
****************** 

PRO/FILE  Updates-the  newsletter  for 
ZX  Pro/File  users-Mods  enhancements 
Learn  about  disk,  CAI  compatibility 

4  issues  yearly . $9.95 

Visa/MC  welcome  (603)  586-7734 
Tom  Woods  Box  64  Jefferson, NH  03583 


************MICR0- load ******* ****** 

UNUSUAL  SOFTWARE *FULLY  GUARANTEED** 
P.0.  BOX  1095, T  OR  C,NM  87901****** 

(C) VIDEO  BLACKJACK:  Graphic  cards. 
Player  VS  computer.  Screen  scoring. 
More! * (cassette  +  instruct) — 10.95 
(C) WORDTEASE :  Game  will  BOGGLE  your 
mind.  On  screen  scoring  and  more!!! 

*(cassette  +  instruct) - 10.95 

*Requires  16K  RAM.  GUARANTEED!!!!!! 
Add  $1.50  S&H  per  order.  NJ  6%  tax. 
M.C. HOFFMAN,  DEPT.  SX12 ,  P.O. 

BOX  117,  OAKLAND,  N.J.  07436 

******game  changer  interface******* 

*  TS1000  —  ATARI  2600  VGS  * 

Two  D.S.T.P.  Boards,  cable  and 
connectors  (uncased  fully  socketed) 
Software  on  cassette  —  plus 
instructions  and  documentation. 

10K  Static  RAM  +4Kx2K  Bank  Switch¬ 
ing  Mem.  Monitor  and  6502  Dis¬ 
assembler.  Emulates  2K,  4K  and  8K 
(Bank  Switched)  Cartridges. 

You  can  DOWNLOAD-SAVE-DISASSEMBLE- 
EXECUTE-MODIFY  &  ORIGINATE  GAMES. 
Assembled  &  Tested:  $139.95 
Plus  $5.00  S  &  H  (Continental  US) 
MICH  Res.  add  4%.  Send  check  or 
Money  Order  (NO  COD)  to: 

Huron  Valley  Research  Inc 
P  0  Box  732 

*  Highland,  MI  48031  * 

*********************************** 


H\R\ARD 

GROU3 

Bolton  Road,  Harvard,  Mass.  01451 


U.S.  Postage 
PAID 

Harvard,  MA 

First  Class  p  "iS  “ 8 


\